package com.yhyvr.console.service;/**
 * Created by zhangqin on 2017/5/11.
 */

import com.lz.kit.PropKit;
import com.lz.mybatis.jdbc.auto.model.SysFile;
import com.lz.tool.FileTool;
import com.lz.tool.PathKit;
import com.lz.tool.aliupload.MediaUploadClient;
import com.yhyvr.service.UploadService;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;


/**
 * 新闻过滤器
 *
 * @author
 * @create 2017-05-11 18:34
 **/
@Component
public class NewsHtmlReplaceTool {

    @Resource
    private UploadService uploadService;
    public  String getAliYunImageHtml(String html){
       Document document =  Jsoup.parse(html);
        Elements img = document.select("img");
        for (Element element : img) {
           String src =  element.attr("src");
            if(!src.startsWith("http://"+PropKit.use("three-app.properties").get("aliyun.namespace"))){
                element.attr("src",upLoadAliImage(src));
            }

        }
        return  document.body().html();
    }

    public  String upLoadAliImage(String src){
            if(src.startsWith("/upload/baidu/image/")){
                try {
                    SysFile sysFile = uploadService.uploadToAli(new File(PathKit.getWebRootPath() + src.replace("/", File.separator)));
                    return sysFile.getFileUrl();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }else{
                InputStream inputStream=null;
                // 构造URL
                URL url = null;
                try {
                    url = new URL(src);

                // 打开连接
                URLConnection con = url.openConnection();
                //设置请求超时为5s
                con.setConnectTimeout(20*1000);
                String ext = FileTool.getExtention(src);
                 String filsName = System.nanoTime()+ ".jpg";
                     inputStream = con.getInputStream();
                    SysFile sysFile = uploadService.uploadToAli(inputStream, filsName, con.getContentLengthLong());
                    return sysFile.getFileUrl();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }finally {
                    if(inputStream!=null){
                        try {
                            inputStream.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        return src;
    }

    public  void main(String[] args) {
        getAliYunImageHtml("<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    <span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">5月6日，奇幻斑斑分别同时参加了恒泰广场图书展及海淀区文化科技融合进社区主题活动。</span>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/306109eaedff4ae6a44cc4c3ec27fbc4\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    　　<span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">恒泰广场图书展活动</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">将读书会性质的书展搬到商场，</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">旨在</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">将书香带进商圈，让身处闹市中的人们能够唤起对书籍的注意和重视。</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">本次书展已经吸引不少市民前来，体会着城市的浓浓书香，助推了市民的阅读热情。</span></span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">而位于五棵松华熙中央广场的文化科技融合进社区活动，则是旨在丰富社区百姓的文化科技生活，让人们认识更多创新性的科教产品</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">，</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">亲身体验一次文化科技融合产品带给生活的便利。</span>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/ca0ebea5a31d46bc9724894c85ebdc2d\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/c5a5aedd15d846a08d27f238d700e68d\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    　　<span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">两个活动现场，奇幻斑斑除</span>“动物欢乐岛”英语认知卡、“动物欢乐岛涂画书”外，还都带去了“缤纷的鱼”AR鱼类认知卡、“拼出来的恐龙世界”AR恐龙拼图、“博物馆里的童话”AR恐龙科普书等最新产品。</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">AR</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">增强现实技术与传统教育载体相融合的创新吸引了一众人群围观咨询，二维形象统统“活起来”秒变4D世界，让</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">书展现场和社区活动</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">现场气氛</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">变得</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">十分热烈。</span>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/f13537ef1c5f4ec7b90b023eb925c707\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    　　<span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">AR增强现实技术已成为教育界的新宠，因为当学生的自身学习与真实环境和增强环境交互时，他们能置身其中，浸入学习，学得更快更高效，大大的丰富了学生的生活经验，提高了课堂教学效率。</span>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/19e26b09432244ee9e39fcdda8e6ee2f\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    　　<span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">此前有研究表明，学生对于听过内容的记忆率为</span>20%，对于看过内容的记忆率为30%，而通过动手实践或者模仿，相关内容的记忆率可高达90%。由此可见，沉浸式的AR、VR模拟操作，能让学生更好而长期地掌握所学技能</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">。</span></span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">借助</span></span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\">AR增强现实技术</span><span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">，可以为学生们营造视觉、听觉、触觉上的感官模拟，让学生及时且没有限制地与未来工作岗位实现无缝对接。</span></span>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/31a4a7f3fe064b20a4923df6e2b30858\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    　　<span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">银河宇科技立足于高科技教育产业方向，致力于以图形图像技术为核心，垂直化打造基于</span>AR/VR+行业的幼儿智慧早教产品，集研发销售为一体化的解决方案体系平台。并最终形成一套完善的品牌形象和服务体系，力争以全方位竞争优势，成长为业界领先的高科技儿童教育产品供应商。</span>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; text-align: center; background-color: rgb(255, 255, 255);\">\n" +
                "    <img src=\"http://img.mp.itc.cn/upload/20170508/0eab23019c9b428e81eb192dbe430f23\"/>\n" +
                "</p>\n" +
                "<p style=\"border: 0px; margin-top: 0px; margin-bottom: 0px; padding: 10px 0px 20px; color: rgb(25, 25, 25); font-family: &#39;PingFang SC&#39;, Arial, 微软雅黑, 宋体, simsun, sans-serif; line-height: 30px; white-space: normal; background-color: rgb(255, 255, 255);\">\n" +
                "    　　<span style=\"border: 0px; margin: 0px; padding: 0px; font-size: 14px;\"><span style=\"border: 0px; margin: 0px; padding: 0px;\">今年春季伊始，奇幻斑斑先后参加了北京市</span>“倡导阅读”图书展、2017天津春季书展、海淀区文化科技融合进社区、丰台万达广场图书展等系列科技文化活动。奇幻斑斑作为儿童AR教育市场上的重量级角色，开始不断发力。</span>\n" +
                "</p>\n" +
                "<p>\n" +
                "    <br/>\n" +
                "</p>");
    }
}
